from datetime import datetime
from typing import Optional
from models.common import OID
from models.alumni.alumni import AlumniBasicModel


class AlumniInstitutionModel(AlumniBasicModel):
    person_id: Optional[OID]


class AlumniWorkModel(AlumniInstitutionModel):
    institution_id: Optional[str]
    institution_name: Optional[str]
    institution_type: Optional[str]
    department: Optional[str]
    position: Optional[str]
    institution_country: Optional[str]
    institution_location: Optional[str]
    start_time: Optional[datetime]
    end_time: Optional[datetime]


class AlumniPositionModel(AlumniInstitutionModel):
    institution_id: Optional[str]
    institution_name: Optional[str]
    job_title: Optional[str]
    job_level: Optional[str]
    status_value: Optional[str]
    start_time: Optional[datetime]
    end_time: Optional[datetime]


class AlumniEducationModel(AlumniInstitutionModel):
    graduate_school: Optional[str]
    graduate_department: Optional[str]
    speciality: Optional[str]
    academic_degree: Optional[str]
    education: Optional[str]
    tutor: Optional[str]
    start_time: Optional[datetime]
    end_time: Optional[datetime]
